//
// Created by mayn on 2019/10/5.
//
// C++ 文件操作流
// fstream (file stream) 包含文件写入和读取流
// ofstream (output file stream, 文件输出写入流)
// ifstream (input file stream, 文件输入读取流)
// 打开文件模式 : ios::app (追加), ios::ate (打开并指向末尾, at end), ios::in (文件读取), ios::out (文件写入), ios::trunc (删除文件并写入), ios::binary (二进制写入)
// 打开文件 : [stream].open([filename], [mode]);
// 更多 API 需要使用时查找即可
//
//
#include <fstream>
#include <iostream>

using namespace std;

int main() {

    // 文件写入流
    ofstream outfile;
    outfile.open("fs/a.txt", ios::out);
    outfile << "test cpp file write" << endl;
    outfile.close();

    // 文件读取流
    ifstream infile; // 或者不调用 open, 使用默认方式打开 : ifstream infile("fs/a.txt", [mode]);
    infile.open("fs/a.txt", ios::in);
    char data[100];
    if (infile.is_open()){  // 检查文件是否打开成功
        while (!infile.eof()){
            infile.getline(data, 100);  // 读取一行到 buffer
            cout << data << endl;
        }
    }else{
        cerr << "File Open Failed" << endl;
        exit(0);
    }
    infile.close();     // 关闭文件流

    return 0;
}

